package com.xdtech.trans.service;

import java.util.List;

import com.xdtech.common.service.IBaseService;
import com.xdtech.trans.model.TransAccount;
import com.xdtech.trans.vo.TransAccountItem;

/**
 * 
 * @author max.zheng
 * @create 2015-06-06 17:27:45
 * @since 1.0
 * @see
 */
public interface TransAccountService extends IBaseService<TransAccount>{

	/**
	 * 保存更新信息
	 * @author max.zheng
	 * @create 2015-06-06 17:27:45
	 * @modified by
	 * @param item
	 * @return
	 */
	boolean saveOrUpdateTransAccount(TransAccountItem item);

	/**
	 * 加载记录信息
	 * @author max.zheng
	 * @create 2015-06-06 17:27:45
	 * @modified by
	 * @param newId
	 * @return
	 */
	TransAccountItem loadTransAccountItem(Long transAccountId);

	/**
	 * 根据id号删除记录信息
	 * @author max.zheng
	 * @create 2015-06-06 17:27:45
	 * @modified by
	 * @param id
	 * @return
	 */
	boolean deleteTransAccountInfo(long id);

	/**
	 * 
	 * @author max.zheng
	 * @create 2015-06-06 17:27:45
	 * @modified by
	 * @param transAccountIds
	 */
	boolean deleteTransAccountInfo(List<Long> transAccountIds);
	
	/**
	 * 加载vo列表条目
	 * @author max.zheng
	 * @create 2015-06-06 17:27:45
	 * @modified by
	 * @return
	 */
	List<TransAccountItem> loadItems();

	/**
	 * true 存在  false 不存在
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-6-8 下午12:47:41
	 * @param websiteId
	 * @param accountType
	 * @return
	 */
	boolean accountTypeExitByWebSiteId(String websiteId, String accountType);

	/**
	 * 根据网点id获取对应预付款帐号
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-6-12 下午3:01:51
	 * @param id
	 * @return
	 */
	TransAccount getPayAccountByWebsiteId(Long id);

	/**
	 * 
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-7-6 上午10:58:25
	 * @param valueOf
	 * @return
	 */
	List<TransAccount> getAccountsByWebsiteId(Long valueOf);

	/**
	 * 
	 * @author <a href="max.zheng@zkteco.com">郑志雄</>
	 * @since 2015-7-24 下午1:02:09
	 * @param creator
	 * @return
	 */
	TransAccount getAccountByPerson(String creator);
}
